import { defineStore } from "pinia";
import api from '../api/api.js'; // 导入 API 服务

export const remengpostsStore = defineStore({
    id: "remengposts",
    state: () => ({
        remengposts: [], // 初始化 posts 为一个空数组

    }),

    actions: {

        async fetchUserInfo(data) {
            try {
                // const response = await api.get('/posts', { params: data }); // 调用登录的 API 接口
                if (response.data.code === 0) {
                    this.remengposts = response.data.data; // 从响应中设置用户信息
                    this.savepostsToLocalStorage(); // 保存用户信息到本地存储
                    return true; // 表示成功
                } else {
                    // console.error('获取用户信息出错:', response.data.msg);
                    return false; // 失败
                }
            } catch (error) {
                // console.error("获取用户信息失败:", error);
                return false; // 处理错误
            }
        },

        savepostsToLocalStorage() {
            localStorage.setItem('remengposts', JSON.stringify(this.remengposts)); // 将用户信息保存到浏览器的本地存储
        },

        loadpostsFromLocalStorage() {
            const remengposts = localStorage.getItem('remengposts'); // 从本地存储读取用户信息
            if (remengposts) {
                this.remengposts = JSON.parse(remengposts); // 解析 JSON 数据并设置到 state

            } else {
                this.fetchUserInfo(1).then(r => {
                    if (r) {
                        this.savepostsToLocalStorage(); // 保存信息到本地存储
                    }
                }); // 如果本地存储中没有用户信息，则设置为空对象
            }
        }
    },

    getters: {
        fullName(state) {
            return `${state.remengposts.firstName} ${state.remengposts.lastName}`; // 示例：获取用户全名的计算属性
        },
    },
});
